"""
方法的重写
    方法重写也叫方法覆盖写，指的是，子类出现和父类重名的方法时，叫做方法的重写
应用场景：
    当子类需要沿袭父类的功能主体，而功能主体又有自己独有的需求的时候，就可以考虑重写从父类继承过来的函数

故事3：
    刘千琪是个喜欢钻研的好孩子，在学习了老师傅的手艺，加上在启点进行了深造，经过不懈努力
    结合实践经验，总结出了一套自己独有的摊煎饼的手艺

"""

# 定义师父类
class Master:
    def __init__(self):
        self.recipe = '古法煎饼配方'

    def make_case1(self):
        print('我是老师傅')
        print(f'使用{self.recipe}制作煎饼果子')

# 定义学校类
class School:
    def __init__(self):
        self.recipe = '【启点的商业版煎饼果子配方】'

    def make_case(self):
        print('我是学校')
        print(f'使用{self.recipe}制作煎饼果子')

# 定义徒弟类
class Prentice(School,Master):
    def __init__(self):
        self.recipe = '{独创的秘制配方}'

    def make_case(self):
        print('我是徒弟')
        print(f'使用{self.recipe}制作煎饼果子')

if __name__ == '__main__':
    p = Prentice()
    p.make_case()


    # 查看继承的解析顺序
    print(Prentice.__mro__)
    print(Prentice.mro())